<%@page import="com.opensymphony.xwork2.util.ValueStack"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!-- 导入 Struts 2 的标签库 -->
<%@taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>订购图书结果</title>
</head>
<body>

    <!-- 利用传统的方式输出订购结果 -->
    <table border="1" width="360">
        <caption>订购图书</caption>
        <%
        /*
        Struts 中，当 Action 设置了某个属性之后，Struts 2 会将这些属性的值全部封装在一个叫做 struts.ValueStack 的请求属性里。
        */
        
        // 获取封装输出信息的 ValueStack 对象； 
        ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack"); 
        // 调用 ValueStack 的 findValue 方法获取 Action 中的 books 属性值； 
        String[] books = (String[])vs.findValue("books"); 
        // 迭代输出全部图书的信息； 
        for(String book : books)
        {
        %>
        <tr>
            <td>书名：</td>
            <td><% =book %></td>
        </tr>
        <% } %>
    </table>
    
    
    <!-- 利用 Struts 2 的标签库输出订购结果 -->
    <table border="1" width="360">
        <caption>订购图书</caption>
        <!-- 迭代输出 ValueStack 中的 books 对象，其中 status 是迭代的序号 -->
        <s:iterator value="books" status="index"></s:iterator>
        <!-- 判断序号是否为奇数 -->
        <s:if test="#index.odd == true">
            <tr style="background-color: #cccccc">
        </s:if>
        <s:else>
            <tr>
        </s:else>
            <td>书名：</td>
            <td><s:property/></td>
        </tr>
        </s:iterator>
    </table>

</body>
</html>